ããŒã¯ã«æšã®åãè§£ãæãããŸãããããããã¯ãã§ãŒã³ã忣ã·ã¹ãã ãªã©ã§ããŒã¿æŽåæ§ãšå¹çãä¿èšŒããåºæ¬çãªæå·ããŒã¿æ§é ã§ããã°ããŒãã«ã¬ã€ãã
ããŒã¯ã«æšïŒããŒã¿æŽåæ§ãšãããã¯ãã§ãŒã³æè¡ã®æå·çåºç€
ããŒã¿é§åå瀟äŒãé²ãã«ã€ããŠãæ å ±ã®æŽåæ§ãšä¿¡é Œæ§ã¯éåžžã«éèŠã«ãªã£ãŠããŸããåœå¢ãè¶ããéèååŒãããã°ããŒãã«ãªã¯ã©ãŠãã€ã³ãã©ã¹ãã©ã¯ãã£ã«ä¿åãããŠããéèŠãªããã¥ã¡ã³ããŸã§ãããŒã¿ã®æ¹ãããé²ããæ€èšŒå¯èœã«ä¿ã€ããšã¯æ®éçãªèª²é¡ã§ããããã§ãããã·ã¥æšãšãåŒã°ããããŒã¯ã«æšãšããå·§åŠãªæŠå¿µããçŸä»£ã®æå·æè¡ãšåæ£ã·ã¹ãã ã®åºç€ãšããŠç»å ŽããŸããããããªåŠè¡çé¢å¿äºã©ããããããŒã¯ã«æšã¯ããããã¯ãã§ãŒã³ããã¢ããŒãã¢ãããã¯ãŒã¯ãªã©ãç§ãã¡ã®æä»£ã®æãå€é©çãªæè¡ãæ¯ããéããªå®è·è ãªã®ã§ãã
ãã®å æ¬çãªã¬ã€ãã§ã¯ãããŒã¯ã«æšããããããã解説ãããã®åºæ¬çãªååãæ§æãå©ç¹ããããŠããŸããŸãªåœéçãªã³ã³ããã¹ãã«ããã倿§ãªçŸå®äžçã®å¿çšãæ¢æ±ããŸããããªããããã©ã³ã®æè¡è ã§ããã奜å¥å¿æºçãªãããã¯ãã§ãŒã³æå¥œå®¶ã§ããããããã¯åã«ããŒã¿ã»ãã¥ãªãã£ãã©ã®ããã«æ©èœããã®ãã«èå³ããã人ã§ãããããŒã¯ã«æšãçè§£ããããšã¯ãæ€èšŒå¯èœãªæ å ±ã®æªæ¥ãææ¡ããããã«äžå¯æ¬ ã§ãã
ããŒã¯ã«æšãšã¯ïŒããŒã¿æ€èšŒãžã®éå±€çã¢ãããŒã
ããŒã¯ã«æšã®äžæ žã¯ãåãªãŒãããŒããããŒã¿ãããã¯ã®æå·ããã·ã¥ã§ã©ãã«ä»ããããåéãªãŒãããŒãããã®åããŒãã®æå·ããã·ã¥ã§ã©ãã«ä»ããããäºåæšã§ãããã®éå±€æ§é ã«ãããå€§èŠæš¡ãªããŒã¿ã»ããã®éåžžã«å¹ççãã€å®å šãªæ€èšŒãå¯èœã«ãªããŸãã
å€åœç±äŒæ¥ã®è²¡åèšé²ãã°ããŒãã«ãªå€§åŠã³ã³ãœãŒã·ã¢ã ã®åŠè¡ç ç©¶è«æããŸãã¯äžçäžã®æ°çŸäžå°ã®ããã€ã¹ã®ãœãããŠã§ã¢ã¢ããããŒããªã©ãèšå€§ãªããžã¿ã«ããã¥ã¡ã³ãã®ã³ã¬ã¯ã·ã§ã³ããããšæ³åããŠãã ãããç¹å®ã®ããã¥ã¡ã³ããæ¹ãããããŠããªãããšããŸãã¯ã³ã¬ã¯ã·ã§ã³å šäœãæ£ç¢ºãªç¶æ ã§ããããšãããã¹ãŠã®ãã€ããããŠã³ããŒãããŠç¢ºèªããããšãªããã©ã®ããã«å¹ççã«èšŒæããŸããïŒ
ããŒã¯ã«æšã¯ãããŒã¿ã»ããå šäœã®åäžã®ãŠããŒã¯ãªãæçŽãã§ããããŒã¯ã«ã«ãŒããäœæããããšã§ãããã解決ããŸãããã®ã«ãŒãããã·ã¥ã¯ãæå·ã«ããèŠçŽãšããŠæ©èœããŸããããã¥ã¡ã³ãå ã®ããŒã¿ã®1ãããã§ã倿ŽããããšãããŒã¯ã«ã«ãŒãã倿Žãããæ¹ãããŸãã¯ç Žæãå³åº§ã«éç¥ãããŸãã
ããŒã¯ã«æšã®æ§é
ãã®éæ³ãã©ã®ããã«èµ·ããããçè§£ããããã«ãã³ã³ããŒãã³ããåè§£ããŠã¿ãŸãããã
- ãªãŒãããŒãïŒããŒã¿ããã·ã¥ïŒïŒãããã¯æšã®æäžäœããŒãã§ããåãªãŒãããŒãã«ã¯ãåã ã®ããŒã¿ïŒãã©ã³ã¶ã¯ã·ã§ã³ããã¡ã€ã«ã»ã°ã¡ã³ããããŒã¿ã¬ã³ãŒããªã©ïŒã®æå·ããã·ã¥ãå«ãŸããŠããŸããããšãã°ã4ã€ã®ããŒã¿ãããã¯ïŒããŒã¿AãããŒã¿BãããŒã¿CãããŒã¿DïŒãããå Žåãããããã®ããã·ã¥ã¯Hash(ããŒã¿A)ãHash(ããŒã¿B)ãHash(ããŒã¿C)ãHash(ããŒã¿D)ã«ãªããŸãã
- éãªãŒãããŒãïŒå éšããŒãïŒïŒããªãŒãäžã«ç§»åãããšãåéãªãŒãããŒãã¯ããã®2ã€ã®åããã·ã¥ã®é£çµã®ããã·ã¥ã«ãªããŸããããšãã°ãHash(ããŒã¿A)ãšHash(ããŒã¿B)ã®äžã®ããŒãã¯Hash(Hash(ããŒã¿A) + Hash(ããŒã¿B))ã«ãªããŸãããã®ããã»ã¹ã¯ã¬ã€ã€ãŒããšã«ç¶è¡ãããŸãã
- ããŒã¯ã«ã«ãŒãïŒã«ãŒãããã·ã¥ïŒïŒããã¯ãããªãŒå šäœã®åäžã®æäžäœããã·ã¥ã§ããããªãŒå ã®ãã¹ãŠã®ããŒã¿ãããã¯ã®ç©¶æ¥µã®æå·ã«ããèŠçŽã§ããããŒã¿ã»ããå šäœã®æŽåæ§ãã«ãã»ã«åããŸãã
ããŒã¯ã«æšã®æ§ç¯æ¹æ³ïŒã¹ããããã€ã¹ãããã®å³è§£
ç°¡åãªäŸã§æ§ç¯ãèŠãŠãããŸãããã
4ã€ã®ããŒã¿ãããã¯Block 0ãBlock 1ãBlock 2ãBlock 3ããããšããŸãããããã¯ããããã¯ãã§ãŒã³å
ã®4ã€ã®éèååŒããŸãã¯å€§ããªãã¡ã€ã«ã®4ã€ã®ã»ã°ã¡ã³ãã衚ãå¯èœæ§ããããŸãã
-
ã¹ããã1ïŒããŒã¿ãããã¯ãããã·ã¥åããïŒãªãŒãããŒãïŒã
H0 = Hash(Block 0)H1 = Hash(Block 1)H2 = Hash(Block 2)H3 = Hash(Block 3)
ãããã¯ãªãŒãããŒãã§ããéåžžãSHA-256ã®ãããªäžè¬çãªæå·ããã·ã¥é¢æ°ã䜿çšãããŸãã
-
ã¹ããã2ïŒé£æ¥ãããªãŒãããŒããçµåããŠããã·ã¥åããŸãã
ãªãŒãããã·ã¥ããã¢ã«ããé£çµãããã·ã¥åããŸãã
H01 = Hash(H0 + H1)H23 = Hash(H2 + H3)
ãããã¯ããªãŒã®æ¬¡ã®ã¬ãã«ã圢æããŸãã
-
ã¹ããã3ïŒäžéããã·ã¥ãçµåããŠããã·ã¥åããŸãã
æåŸã«ãã¹ããã2ã®ããã·ã¥ãååŸããŠçµåããŸãã
Root = Hash(H01 + H23)
ãã®
Rootã¯ãããŒã¯ã«ã«ãŒãã§ããããã¯ã4ã€ã®ããŒã¿ãããã¯ã®ã»ããå šäœã衚ãåäžã®ããã·ã¥ã§ãã
ããŒã¿ãããã¯ã®æ°ã奿°ã®å Žåã¯ã©ããªããŸããïŒäžè¬çãªæ¹æ³ã¯ããã¢ãªã³ã°ã®ããã«å¶æ°ã確ä¿ããããã«ãæåŸã®ããã·ã¥ãè€è£œããããšã§ããããšãã°ãBlock 0ãBlock 1ãããã³Block 2ãããªãå ŽåãããªãŒã®æ§ç¯ã¯æ¬¡ã®ããã«ãªããŸãã
H0 = Hash(Block 0)H1 = Hash(Block 1)H2 = Hash(Block 2)H2' = Hash(Block 2)ïŒè€è£œïŒH01 = Hash(H0 + H1)H22' = Hash(H2 + H2')Root = Hash(H01 + H22')
ãã®ã·ã³ãã«ã§ãšã¬ã¬ã³ããªæ§é ã¯ã匷åãªããŒã¿æ€èšŒã¡ã«ããºã ã®åºç€ãšãªããŸãã
ããŒã¯ã«æšã®åïŒäž»ãªå©ç¹
ããŒã¯ã«æšã¯ãå®å šã§å¹ççãªããŒã¿åŠçã«äžå¯æ¬ ãªããã€ãã®é åçãªå©ç¹ãæäŸããŸãã
-
æ¯é¡ã®ãªãããŒã¿æŽåæ§æ€èšŒïŒ
ãããäž»ãªå©ç¹ã§ããããŒã¯ã«ã«ãŒãã ãã§ãé¢ä¿è ã¯åºã«ãªãããŒã¿ã®äžéšã倿Žããããã©ããããã°ãã確èªã§ããŸãã
Block 0ã®1ãã€ãã§ã倿ŽããããšãH0ã倿ŽãããH01ã倿Žãããç¶ããŠRootã倿ŽãããŸãããã®ã«ã¹ã±ãŒãçãªå€æŽã«ãããæ¹ãããããã«æ€åºå¯èœã«ãªããŸããããã¯ãããžã¿ã«å¥çŽãæ©å¯æ å ±ã®é·æã¢ãŒã«ã€ããªã©ãããŒã¿ãžã®ä¿¡é ŒãæãéèŠãªã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠéåžžã«éèŠã§ãã -
䞊å€ããå¹çïŒããŒã¯ã«èšŒæïŒïŒ
æ°çŸäžã®ãããã¯ãå«ãããŒã¿ã»ããå ã§
Block 0ã®ååšãšæŽåæ§ã蚌æããããšæ³åããŠãã ãããããŒã¯ã«æšããªãå Žåãéåžžã¯æ°çŸäžã®ãããã¯ããã¹ãŠããã·ã¥åããããããŒã¿ã»ããå šäœã転éããå¿ èŠããããŸããããŒã¯ã«æšã䜿çšãããšãBlock 0ããã®ããã·ã¥H0ãããã³ããŒã¯ã«ã«ãŒããŸã§ã®ãã¹ãåæ§ç¯ããããã«å¿ èŠãªäžéããã·ã¥ïŒãã®ãå åŒãããã·ã¥ïŒãå°æ°ã ãã§ãããã®å°æ°ã®äžéããã·ã¥ã®ã»ããã¯ãããŒã¯ã«èšŒæãŸãã¯å å«èšŒæãšåŒã°ããŸããæ€èšŒã«å¿ èŠãªããŒã¿ã®éã¯ãããŒã¿ãããã¯ã®æ°ïŒ
log2(N)ïŒã«å¿ããŠå¯Ÿæ°çã«å¢å ããŸãã100äžåã®ãããã¯ã®å Žåã100äžåã®ä»£ããã«ãæ€èšŒã«å¿ èŠãªããã·ã¥ã¯çŽ20åã ãã§ãããã®å¹çã¯ã垯åå¹ ãå¶éãããç°å¢ãã¢ãã€ã«ããã€ã¹ããŸãã¯åæ£åãããã¯ãŒã¯ã«ãšã£ãŠéåžžã«éèŠã§ãã -
匷åãããã»ãã¥ãªãã£ïŒ
ããŒã¯ã«æšã¯åŒ·åãªæå·ããã·ã¥é¢æ°ãå©çšããŠãããããããŸããŸãªåœ¢åŒã®æ»æã«å¯ŸããŠéåžžã«èæ§ããããŸããããã·ã¥é¢æ°ã®äžæ¹åæ§ã«ãããããã·ã¥ããããŒã¿ããªããŒã¹ãšã³ãžãã¢ãªã³ã°ããããåãããã·ã¥ãçæãã2ã€ã®ç°ãªãããŒã¿ãããã¯ãèŠã€ãããïŒè¡çªïŒãèšç®äžäžå¯èœã§ããããšãä¿èšŒãããŸãããã®æå·åŒ·åºŠã¯ãã»ãã¥ãªãã£ä¿èšŒã®åºç€ã圢æããŸãã
-
å€§èŠæš¡ããŒã¿ã»ããã®ã¹ã±ãŒã©ããªãã£ïŒ
æ°çŸãŸãã¯æ°ååã®ããŒã¿ãããã¯ãåŠçããå Žåã§ããããŒã¯ã«æšã¢ãŒããã¯ãã£ã¯å¹æçã«æ¡åŒµãããŸããæ€èšŒæéå šäœã¯ãããŒã¿ã»ããã®å šäœçãªãµã€ãºã«é¢ä¿ãªããæ€èšŒè ã®èŠç¹ããå®è³ªçã«äžå®ã§ããã忣åå°åž³æè¡ã®ãããªã°ããŒãã«èŠæš¡ã®ã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããŸãã
ããŒã¯ã«èšŒæïŒæå°éã®æ å ±ã§ããŒã¿ãæ€èšŒããæè¡
ããŒã¯ã«æšã®çã®åã¯ãããŒã¯ã«èšŒæãéããŠèŒããŸããããŒã¯ã«èšŒæã«ãããã¯ã©ã€ã¢ã³ãã¯ãç¹å®ã®ããŒã¿ãå®éã«å€§ããªããŒã¿ã»ããã®äžéšã§ãããæ¹ãããããŠããªãããšããããŒã¿ã»ããå šäœãããŠã³ããŒããŸãã¯åŠçããå¿ èŠãªãã«æ€èšŒã§ããŸããããã¯ããã®äžæã®èå¥åãšããã€ãã®ç¹å®ã®é£æ¥ããŒãžã調ã¹ãã ãã§ãæ¬å šäœãèªãããšãªããå·šå€§ãªæ¬ã®1ããŒãžã確èªããã®ã«äŒŒãŠããŸãã
ããŒã¯ã«èšŒæã®ä»çµã¿
Block 0ãBlock 1ãBlock 2ãBlock 3ãããã³ããŒã¯ã«ã«ãŒãRoot = Hash(Hash(Hash(Block 0) + Hash(Block 1)) + Hash(Hash(Block 2) + Hash(Block 3)))ã®äŸã忀èšããŸãããã
ãŠãŒã¶ãŒãBlock 0ãããŒã¿ã»ããã«æ£ããå«ãŸããŠãããããŒã¿ã»ããã®ããŒã¯ã«ã«ãŒããå®éã«Rootã§ããããšãæ€èšŒããããšããŸãã
Block 0ã®ããŒã¯ã«èšŒæãæ§ç¯ããã«ã¯ã次ã®ãã®ãå¿
èŠã§ãã
- å
ã®
Block 0èªäœã - ã«ãŒããŸã§ã®ãã¹ã«æ²¿ã£ãå
åŒã®ããã·ã¥ããã®å Žåã
H1ïŒBlock 1ã®ããã·ã¥ïŒãšH23ïŒH2ãšH3ã®ããã·ã¥ïŒã«ãªããŸãã - ããŒã¿ã»ããå
šäœã®æ¢ç¥ã®ããŒã¯ã«ã«ãŒãïŒ
RootïŒã
æ€èšŒããã»ã¹ã¯æ¬¡ã®ãšããã§ãã
- æ€èšŒè
ã¯
Block 0ãH1ãH23ãããã³äºæãããRootãåãåããŸãã H0 = Hash(Block 0)ãèšç®ããŸãã- 次ã«ã
H0ãå åŒã®H1ãšçµã¿åãããŠã次ã®ã¬ãã«ã®ããã·ã¥ãèšç®ããŸãïŒComputed_H01 = Hash(H0 + H1)ã - 次ã«ã
Computed_H01ãå åŒã®H23ãšçµã¿åãããŠãããŒã¯ã«ã«ãŒããèšç®ããŸãïŒComputed_Root = Hash(Computed_H01 + H23)ã - æåŸã«ã
Computed_RootãäºæãããRootãšæ¯èŒããŸããäžèŽããå ŽåãBlock 0ã®ä¿¡é Œæ§ãšå å«ãæå·çã«æ€èšŒãããŸãã
ãã®ããã»ã¹ã¯ãåäžã®ããŒã¿èŠçŽ ã®æŽåæ§ãæ€èšŒããããã«ãããã·ã¥ã®ç·æ°ã®ããäžéšããå¿
èŠãªãããšã瀺ããŠããŸãããç£æ»ãã¹ãïŒãã®å Žåã¯H1ãšH23ïŒã¯ãæ€èšŒããã»ã¹ãäžã«å°ããŸãã
ããŒã¯ã«èšŒæã®å©ç¹
- ã©ã€ãã¯ã©ã€ã¢ã³ãæ€èšŒïŒã¢ãã€ã«ãã©ã³ãIoTããã€ã¹ãªã©ãèšç®ãªãœãŒã¹ã垯åå¹ ãéãããŠããããã€ã¹ã«ãšã£ãŠéèŠã§ãããã§ãŒã³å šäœãåæããã«ãå€§èŠæš¡ãªãããã¯ãã§ãŒã³ã§ã®ãã©ã³ã¶ã¯ã·ã§ã³ãæ€èšŒã§ããŸãã
- å å«/é€å€ã®èšŒæïŒäž»ã«å å«ã«äœ¿çšãããŸãããããé«åºŠãªããŒã¯ã«æšã®ããªã¢ã³ãïŒã¹ããŒã¹ããŒã¯ã«æšãªã©ïŒã¯ãç¹å®ã®ããŒã¿èŠçŽ ã®äžåšãå¹ççã«èšŒæããããšãã§ããŸãã
- 忣åä¿¡é ŒïŒåæ£åãããã¯ãŒã¯ã§ã¯ãåå è ã¯äžå€®æ©é¢ã«äŸåããã«ããŒã¿ã®ä¿¡é Œæ§ãæ€èšŒã§ããŸãã
äžçäžã®ããŒã¯ã«æšã®çŸå®äžçã®ã¢ããªã±ãŒã·ã§ã³
ããŒã¯ã«æšã¯æœè±¡çãªçè«çæ§é ã§ã¯ãããŸãããæ¥åžžçã«äœ¿çšããå€ãã®ãã¯ãããžãŒã®åºæ¬ã§ããããã°ãã°ããã«æ°ã¥ããŸããããã®ã°ããŒãã«ãªåœ±é¿ã¯æ·±å»ã§ãã
1. ãããã¯ãã§ãŒã³ãšæå·é貚ïŒBitcoinãEthereumãªã©ïŒ
ããã¯ããããæãæåãªã¢ããªã±ãŒã·ã§ã³ã§ãããããã¯ãã§ãŒã³ã®ãã¹ãŠã®ãããã¯ã«ã¯ããã®ãããã¯å ã®ãã¹ãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ãèŠçŽããããŒã¯ã«æšãå«ãŸããŠããŸãããããã®ãã©ã³ã¶ã¯ã·ã§ã³ã®ããŒã¯ã«ã«ãŒãã¯ããããã¯ããããŒã«ä¿åãããŸããããã¯ãããã€ãã®çç±ã§éèŠã§ãã
- ãã©ã³ã¶ã¯ã·ã§ã³ã®æ€èšŒïŒã©ã€ãã¯ã©ã€ã¢ã³ãïŒã¢ãã€ã«ãŠã©ã¬ãããªã©ïŒã¯ããããã¯å šäœã®ãã©ã³ã¶ã¯ã·ã§ã³å±¥æŽã§ã¯ãªãããããã¯ããããŒïŒããŒã¯ã«ã«ãŒããå«ãïŒãšãã©ã³ã¶ã¯ã·ã§ã³ã®ããŒã¯ã«èšŒæã®ã¿ãããŠã³ããŒãããããšã«ãããç¹å®ã®ãã©ã³ã¶ã¯ã·ã§ã³ããããã¯ã«å«ãŸããŠãããæ£åœã§ããããšãæ€èšŒã§ããŸããããã«ãããã°ããŒãã«ã«é«éã§äœãªãœãŒã¹ã®æ€èšŒãå¯èœã«ãªããŸãã
- ãããã¯ã®æŽåæ§ïŒãããã¯å ã®1ã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ã«å¯Ÿãã倿Žã¯ããã®ããã·ã¥ã倿ŽããããŒã¯ã«æšãäžã«äŒæããç°ãªãããŒã¯ã«ã«ãŒãã«ãªããŸãããã®äžäžèŽã«ãããããã¯ãç¡å¹ã«ãªããæ¹ãããããã«æ€åºå¯èœã«ãªããäžæ£ãªãã©ã³ã¶ã¯ã·ã§ã³ããããã¯ãŒã¯ã«åãå ¥ããããã®ãé²ããŸãã
- Ethereumã®é«åºŠãªäœ¿çšïŒEthereumã¯ããã©ã³ã¶ã¯ã·ã§ã³ããã©ã³ã¶ã¯ã·ã§ã³ã¬ã·ãŒããããã³ã¯ãŒã«ãã¹ããŒãã®3ã€ã®ããŒã¯ã«ãããªã·ã¢æšïŒããè€éãªããªã¢ã³ãïŒããããã¯ããšã«1ã€ãã€äœ¿çšããŸããããã«ããããããã¯ãŒã¯å šäœã®ç¶æ ãžã®éåžžã«å¹ççã§æ€èšŒå¯èœãªã¢ã¯ã»ã¹ãå¯èœã«ãªããŸãã
2. 忣ã¹ãã¬ãŒãžã·ã¹ãã ïŒIPFSãGitïŒ
ããŒã¯ã«æšã¯ã忣ãã¡ã€ã«ã·ã¹ãã ã§ã®ããŒã¿æŽåæ§ã®ç¢ºä¿ãšå¹ççãªåæã«äžå¯æ¬ ã§ãã
- InterPlanetary File SystemïŒIPFSïŒïŒã°ããŒãã«ãªãã¢ããŒãã¢ãã€ããŒã¡ãã£ã¢ãããã³ã«ã§ããIPFSã¯ãããŒã¯ã«æšãåºç¯å²ã«äœ¿çšããŠããŸããIPFSã®ãã¡ã€ã«ã¯ããå°ããªãããã¯ã«åå²ããããããã®ãããã¯ããããŒã¯ã«DAGïŒæåéå·¡åã°ã©ããäžè¬åãããããŒã¯ã«æšïŒã圢æãããŸãããã®DAGã®ã«ãŒãããã·ã¥ã¯ããã¡ã€ã«å šäœã®ã³ã³ãã³ãèå¥åïŒCIDïŒãšããŠæ©èœããŸããããã«ããããŠãŒã¶ãŒã¯è€æ°ã®ãœãŒã¹ãããã¡ã€ã«ã»ã°ã¡ã³ããããŠã³ããŒãããŠæ€èšŒããæçµçã«åæ§ç¯ããããã¡ã€ã«ãå ã®ãã¡ã€ã«ãšåäžã§ãããç ŽæãŸãã¯å€æŽãããŠããªãããšã確èªã§ããŸããããã¯ãã°ããŒãã«ã³ã³ãã³ãé ä¿¡ããã³ã¢ãŒã«ã€ãã®åºç€ã§ãã
- GitããŒãžã§ã³ç®¡çã·ã¹ãã ïŒäžçäžã®æ°çŸäžäººã®éçºè ã䜿çšããŠããGitã¯ãããŒã¯ã«ã©ã€ã¯ããªãŒïŒå ·äœçã«ã¯ãããŒã¯ã«DAGã®äžçš®ïŒã䜿çšããŠããã¡ã€ã«ãžã®å€æŽã远跡ããŸããGitã®ãã¹ãŠã®ã³ãããã¯ãåºæ¬çã«ãã®ã³ã³ãã³ãïŒä»¥åã®ã³ããããžã®åç §ãšãã¡ã€ã«/ãã£ã¬ã¯ããªã®ããªãŒãå«ãïŒã®ããã·ã¥ã§ããããã«ããã倿Žã®å±¥æŽãäžå€ã§æ€èšŒå¯èœã«ãªããŸããéå»ã®ã³ãããã«å¯Ÿãã倿Žã¯ããã®ããã·ã¥ã倿Žãããããã£ãŠåŸç¶ã®ã³ãããã®ããã·ã¥ã倿Žããæ¹ãããããã«æããã«ããŸãã
3. ããŒã¿ã®åæãšæ€èšŒ
å€§èŠæš¡ãªããŒã¿ã·ã¹ãã ãç¹ã«ç°ãªãå°ççå°åã«åæ£ããŠããããŒã¿ã·ã¹ãã ã§ã¯ãããŒã¯ã«æšã¯å¹ççãªåæãšæŽåæ§ãã§ãã¯ã容æã«ããŸãã
- NoSQLããŒã¿ããŒã¹ïŒAmazon DynamoDBãApache Cassandraã®ãããªã·ã¹ãã ã¯ãããŒã¯ã«æšã䜿çšããŠããŒã¿ã¬ããªã«éã®äžæŽåãæ€åºããŸããã¬ããªã«ã¯ãããŒã¿ã»ããå šäœãæ¯èŒãã代ããã«ãããŒã¯ã«ã«ãŒããæ¯èŒã§ããŸããã«ãŒããç°ãªãå ŽåãããªãŒã®ç¹å®ã®ãã©ã³ããæ¯èŒããŠãåæãããŠããªãããŒã¿ã»ã°ã¡ã³ããæ£ç¢ºã«ç¹å®ã§ãããããããå¹ççãªèª¿æŽã«ã€ãªãããŸããããã¯ãã°ããŒãã«ããŒã¿ã»ã³ã¿ãŒå šäœã§äžè²«ããããŒã¿ãç¶æããããã«äžå¯æ¬ ã§ãã
- ã¯ã©ãŠãã¹ãã¬ãŒãžïŒã¯ã©ãŠããããã€ããŒã¯ãå€ãã®å ŽåãããŒã¯ã«æšãŸãã¯åæ§ã®æ§é ã䜿çšããŠã倿°ã®ãµãŒããŒã«ä¿åãããŠãããŠãŒã¶ãŒããŒã¿ã®æŽåæ§ã確ä¿ããŸããã¢ããããŒããããã¡ã€ã«ããã®ãŸãŸæ®ã£ãŠãããä¿åãŸãã¯ååŸäžã«ç ŽæããŠããªãããšã確èªã§ããŸãã
4. ãã¢ããŒãã¢ãããã¯ãŒã¯ïŒBitTorrentïŒ
ãã¢ããŒãã¢ãã¡ã€ã«å ±æã«åºã䜿çšãããŠãããããã³ã«ã§ããBitTorrentã¯ãããŒã¯ã«æšã䜿çšããŠããŠã³ããŒãããããã¡ã€ã«ã®æŽåæ§ã確ä¿ããŸãã
- BitTorrentãä»ããŠãã¡ã€ã«ãããŠã³ããŒããããšããã¡ã€ã«ã¯å€ãã®å°ããªæçã«åå²ãããŸãããtorrentããã¡ã€ã«ãŸãã¯ãã°ããããªã³ã¯ã«ã¯ããããã®ãã¹ãŠã®æçã®ããŒã¯ã«ã«ãŒãïŒãŸãã¯ããŒã¯ã«æšã圢æã§ããããã·ã¥ã®ãªã¹ãïŒãå«ãŸããŠããŸããããŸããŸãªãã¢ããæçãããŠã³ããŒãããéã«ãåæçãããã·ã¥åããäºæãããããã·ã¥ãšæ¯èŒããŸããããã«ãããæå¹ã§æ¹ãããããŠããªãããŒã¿ã®ã¿ãåãå ¥ããæªæã®ããæçãŸãã¯ç ŽæããæçãæåŠã§ããŸãããã®ã·ã¹ãã ã«ãããã°ããŒãã«P2Pãããã¯ãŒã¯ã®äžè¬çãªã·ããªãªã§ãããä¿¡é Œã§ããªããœãŒã¹ããã®ä¿¡é Œæ§ã®é«ããã¡ã€ã«è»¢éãå¯èœã«ãªããŸãã
5. èšŒææžéææ§ãã°
ããŒã¯ã«æšã¯ãSSL/TLSèšŒææžã®çºè¡ãå ¬éçã«ç£æ»å¯èœã«ããããšãç®çãšããèšŒææžéææ§ïŒCTïŒãã°ã®åºæ¬ã§ããããŸãã
- CTãã°ã¯ãèšŒææžçºè¡å±ïŒCAïŒãçºè¡ãããã¹ãŠã®SSL/TLSèšŒææžã®è¿œå å°çšãã°ã§ãããããã®ãã°ã¯ãããŒã¯ã«æšã䜿çšããŠå®è£ ãããŠããŸãããã©ãŠã¶ãã³ããŒãšãã¡ã€ã³ææè ã¯ããããã®ãã°ã宿çã«ãã§ãã¯ããŠããã¡ã€ã³ã«å¯ŸããŠäžæ£ãŸãã¯èª€ã£ãèšŒææžãçºè¡ãããŠããªãããšã確èªã§ããŸãããã°ã®ããŒã¯ã«ã«ãŒãã¯å®æçã«å ¬éããã誰ã§ããã°å šäœã®æŽåæ§ãšäžè²«æ§ãæ€èšŒããäžæ£ãªèšŒææžãç§å¯è£ã«çºè¡ããããšãã詊ã¿ãæ€åºã§ããŸããããã«ãããã°ããŒãã«ãŠã§ãã®ã»ãã¥ãªãã£ã€ã³ãã©ã¹ãã©ã¯ãã£ã«å¯Ÿããä¿¡é Œãé«ãŸããŸãã
é«åºŠãªæŠå¿µãšããªãšãŒã·ã§ã³
åºæ¬çãªããŒã¯ã«æšã®æ§é ã¯åŒ·åã§ãããããŸããŸãªèª²é¡ã«å¯ŸåŠããããŸããŸãªãŠãŒã¹ã±ãŒã¹ã®ããã©ãŒãã³ã¹ãæé©åããããã«ãããŸããŸãªé©å¿ãéçºãããŠããŸãã
ããŒã¯ã«ãããªã·ã¢æšïŒMPTïŒ
Ethereumã§åºã䜿çšãããŠããé«åºŠãªããªã¢ã³ãã§ããããŒã¯ã«ãããªã·ã¢æšïŒããããªã·ã¢ãã©ã€ããŸãã¯ãåºæ°æšããšããŒã¯ã«ããã·ã¥ãçµã¿åããããã®ãšãåŒã°ããŸãïŒã¯ãããŒãšå€ã®ãã¢ãå¹ççã«æ ŒçŽããèªèšŒæžã¿ããŒã¿æ§é ã§ããç¹å®ã®ããŒãšå€ã®ãã¢ã®å å«ã®æå·ç蚌æãããã³äžåšã®èšŒæïŒããŒãååšããªãããšïŒãæäŸããŸããMPTã¯Ethereumã§äœ¿çšãããŸãã
- ã¹ããŒãããªãŒïŒãã¹ãŠã®ã¢ã«ãŠã³ãã®ã¹ããŒãå šäœïŒæ®é«ããã³ã¹ãã¹ãã¬ãŒãžããã·ã¥ãã³ãŒãããã·ã¥ïŒãæ ŒçŽããŸãã
- ãã©ã³ã¶ã¯ã·ã§ã³ããªãŒïŒãããã¯å ã®ãã¹ãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ãæ ŒçŽããŸãã
- ã¬ã·ãŒãããªãŒïŒãããã¯å ã®ãã¹ãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ã®çµæïŒã¬ã·ãŒãïŒãæ ŒçŽããŸãã
ã¹ããŒãããªãŒã®ããŒã¯ã«ã«ãŒãã¯ãã¹ãŠã®ãããã¯ã§å€æŽããããã®ç¬éã®Ethereumãããã¯ãã§ãŒã³å šäœã®ã¹ããŒãã®æå·ã¹ãããã·ã§ãããšããŠæ©èœããŸããããã«ããããããã¯ãã§ãŒã³ã®å±¥æŽå šäœãåŠçããªããŠããç¹å®ã®ã¢ã«ãŠã³ãæ®é«ãŸãã¯ã¹ããŒãã³ã³ãã©ã¯ãã¹ãã¬ãŒãžå€ã®éåžžã«å¹ççãªæ€èšŒãå¯èœã«ãªããŸãã
ã¹ããŒã¹ããŒã¯ã«æšïŒSMTïŒ
ã¹ããŒã¹ããŒã¯ã«æšã¯ãããŒã¿ã»ãããéåžžã«å€§ããããå¯èœãªããŒã¿èŠçŽ ã®ã»ãã®äžéšããå®éã«ååšããªãç¶æ³ïŒã€ãŸãããªãŒãããŒãã®ã»ãšãã©ã空ãŸãã¯ãŒãã«ãªãïŒã«æé©åãããŠããŸããSMTã¯ãããªãŒã®ç©ºã§ãªããã©ã³ãã®ã¿ãæ ŒçŽããããšã«ããå¹çãå®çŸãããã®ãããªã¹ããŒã¹ããŒã¿ã»ããã®èšŒæã®ã¹ãã¬ãŒãžãšèšç®ãå€§å¹ ã«åæžããŸãããããã¯ãå¯èœãªã¢ãã¬ã¹ã®æ°ãå®éã®ã¢ã«ãŠã³ãã®æ°ãããã¯ããã«å€ããå€§èŠæš¡ãªIDã·ã¹ãã ãŸãã¯è€éãªå°åž³ã¹ããŒãã®ååš/äžåšã®èšŒæã§ç¹ã«åœ¹ç«ã¡ãŸãã
ããŒã¯ã«B+æš
ããŒã¯ã«ããã·ã¥ãB+æšïŒããŒã¿ããŒã¹ã€ã³ããã¯ã¹ã®äžè¬çãªããŒã¿æ§é ïŒã«çµ±åããããšã«ãããããŒã¯ã«B+æšã¯ãå¹ççãªããŒã¿ããŒã¹ã¯ãšãªãšæå·çã«æ€èšŒå¯èœãªæŽåæ§ã®äž¡æ¹ã®å©ç¹ãæäŸããŸãããã®çµã¿åããã¯ãæ€èšŒå¯èœãªããŒã¿ããŒã¹ãšç£æ»ãã°ã§æ¯æãéããŠãããã¯ãšãªãæ£ããçµæãè¿ãã ãã§ãªããçµæãæ¹ãããããŠããããç¹å®ã®æç¹ã§ã®ããŒã¿ããŒã¹ã®ç¶æ ãæ£ç¢ºã«åæ ããŠãããšããæ€èšŒå¯èœãªèšŒæãä¿èšŒããŸãã
課é¡ãšèæ ®äºé
éåžžã«åŒ·åã§ãããããŒã¯ã«æšã«ã¯èæ ®äºé ããªãããã§ã¯ãããŸããã
- åææ§ç¯ã³ã¹ãïŒéåžžã«å€§ããªããŒã¿ã»ããã®ããŒã¯ã«æšãæåããæ§ç¯ããã«ã¯ããã¹ãŠã®ããŒã¿ãããã¯ãããã·ã¥åããŠããããã¹ãŠã®äžéããã·ã¥ãèšç®ããå¿ èŠããããããèšç®éãå€ããªãå¯èœæ§ããããŸãã
- åçããŒã¿ç®¡çïŒããŒã¿ãé »ç¹ã«è¿œå ãåé€ããŸãã¯å€æŽãããå ŽåãããŒã¯ã«æšãæŽæ°ããã«ã¯ã圱é¿ãåããã«ãŒããŸã§ã®ãã¹ã«æ²¿ã£ãŠããã·ã¥ãåèšç®ããå¿ èŠããããŸããæ€èšŒã«ã¯å¹ççã§ãããåçãªæŽæ°ã¯ãéçããŒã¿ãšæ¯èŒããŠè€éããå¢ãå¯èœæ§ããããŸããã€ã³ã¯ãªã¡ã³ã¿ã«ããŒã¯ã«æšãŸãã¯å¯å€ããŒã¯ã«æšã®ãããªé«åºŠãªæ§é ãããã«å¯ŸåŠããŸãã
- ããã·ã¥é¢æ°ãžã®äŸåïŒããŒã¯ã«æšã®ã»ãã¥ãªãã£ã¯ãåºã«ãªãæå·ããã·ã¥é¢æ°ã®åŒ·åºŠã«å®å šã«äŸåããŠããŸããããã·ã¥é¢æ°ã䟵害ãããå ŽåïŒããšãã°ãè¡çªãèŠã€ãã£ãå ŽåïŒãããŒã¯ã«æšã®æŽåæ§ä¿èšŒã¯æãªãããŸãã
ããŒã¯ã«æšã«ããããŒã¿æ€èšŒã®æªæ¥
äžçãåäŸã®ãªãéã®ããŒã¿ãçæããã«ã€ããŠãå¹ççã§ã¹ã±ãŒã©ãã«ããã€ä¿¡é Œã§ããããŒã¿æ€èšŒã¡ã«ããºã ã®å¿ èŠæ§ã¯ãŸããŸãé«ãŸããŸããããŒã¯ã«æšã¯ããã®ãšã¬ã¬ã³ããªã·ã³ãã«ããšå ç¢ãªæå·ç¹æ§ãåããŠãããããžã¿ã«ä¿¡é Œã®æªæ¥ã«ãããŠããã«éèŠãªåœ¹å²ãæããã§ããããæ¬¡ã®åéã§ã®äœ¿çšæ¡å€§ãäºæ³ãããŸãã
- ãµãã©ã€ãã§ãŒã³ã®éææ§ïŒåã¹ãããã§æ€èšŒå¯èœãªèšŒæã䜿çšããŠãåç£å°ããæ¶è²»è ãŸã§ååã远跡ããŸãã
- ããžã¿ã«IDãšè³æ Œæ å ±ïŒäžå€®æ©é¢ã«é Œããã«ãå人ããŒã¿ãå®å šã«ç®¡çããã³æ€èšŒããŸãã
- æ€èšŒå¯èœãªèšç®ïŒã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°ãšãŒãç¥è蚌æã«äžå¯æ¬ ãªãåå®è¡ããã«èšç®ãæ£ããå®è¡ãããããšã蚌æããŸãã
- IoTã»ãã¥ãªãã£ïŒèšå€§ãªã¢ãã®ã€ã³ã¿ãŒãããããã€ã¹ãããã¯ãŒã¯ããåéãããããŒã¿ã®æŽåæ§ã確ä¿ããŸãã
- èŠå¶éµå®ãšç£æ»èšŒè·¡ïŒäžçäžã®èŠå¶æ©é¢ã«å¯ŸããŠãç¹å®ã®æç¹ã§ã®ããŒã¿ç¶æ ã®çŽãããªã蚌æ ãæäŸããŸãã
ã°ããŒãã«ã«çžäºæ¥ç¶ãããç°å¢ã§äºæ¥ãè¡ãçµç¹ãå人ã«ãšã£ãŠãããŒã¯ã«æšãã¯ãããžãŒãçè§£ããæŽ»çšããããšã¯ãã¯ããªãã·ã§ã³ã§ã¯ãªããæŠç¥çèŠä»¶ãšãªã£ãŠããŸããããŒã¯ã«æšã¯ãæå·æ€èšŒå¯èœæ§ãããŒã¿ç®¡çã®äžæ žã«åã蟌ãããšã«ãããããéææ§ãå®å šæ§ãä¿¡é Œæ§ã®é«ãããžã¿ã«ãšã³ã·ã¹ãã ãæ§ç¯ã§ããããã«ããŸãã
çµè«
Ralph Merkleã«ãã£ãŠ1979幎ã«çºæãããããŒã¯ã«æšã¯ã仿¥ã®ããžã¿ã«ã©ã³ãã¹ã±ãŒãã«ãããŠéåžžã«é©åã§åºç€çãªãã®ã§ãããã®èšå€§ãªéã®ããŒã¿ãåäžã®æ€èšŒå¯èœãªããã·ã¥ã«åçž®ããèœåãšãããŒã¯ã«èšŒæã®å¹çãšã®çµã¿åããã«ãããç¹ã«ãããã¯ãã§ãŒã³ãšåæ£ã·ã¹ãã ã®åæ£åãã©ãã€ã å ã§ãããŒã¿æŽåæ§ãžã®ã¢ãããŒãæ¹æ³ã«é©åœããããããŸããã
Bitcoinã§ã®ã°ããŒãã«ãªéèååŒã®ä¿è·ãããIPFSã§ã®ã³ã³ãã³ãã®ä¿¡ææ§ã®ç¢ºä¿ãGitã§ã®ãœãããŠã§ã¢å€æŽã®è¿œè·¡ãŸã§ãããŒã¯ã«æšã¯æå·æ€èšŒã®çžã®äžã®åæã¡ã§ããããŒã¿ãåžžã«ç§»åããä¿¡é Œãæåªå äºé ã§ããäžçãé²ã¿ç¶ããã«ã€ããŠãããŒã¯ã«æšã®ååãšã¢ããªã±ãŒã·ã§ã³ã¯ééããªãé²åãç¶ããçã«ã°ããŒãã«ãªèŠèŽè åãã®æ¬¡äžä»£ã®å®å šã§æ€èšŒå¯èœãªãã¯ãããžãŒãæ¯ããã§ãããã